package cn.exrick.xboot.modules.biddataproject.entity;

import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.experimental.Accessors;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author sdtf
 */
@Data
@Accessors(chain = true)
@Entity
@DynamicInsert
@DynamicUpdate
@Table(name = "bid_data_project")
@TableName("bid_data_project")
@ApiModel(value = "招投标系统")
public class BidDataProtect  {

    private static final long serialVersionUID = 1L;

    @Id
    @TableId(value = "ID", type = IdType.AUTO)
    private String id;

    @ApiModelProperty(value = "版本号")
    private Integer versions;

    @ApiModelProperty(value = "创建人")
    private String createName;

    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createDate;

    @ApiModelProperty(value = "更新人")
    private String updateName;

    @ApiModelProperty(value = "更新时间")
    private LocalDateTime updateDate;

    @ApiModelProperty(value = "归档号")
    private String projectFileNo;

    @ApiModelProperty(value = "项目名称")
    private String projectName;

    @ApiModelProperty(value = "项目专业")
    private String projectMajor;

    @ApiModelProperty(value = "项目级别")
    private String projectLevel;

    @ApiModelProperty(value = "所属单位（部门)")
    private String projectDept;

    @ApiModelProperty(value = "合同金额")
    private BigDecimal contractFee;

    @ApiModelProperty(value = "项目投资金额")
    private BigDecimal projectFee;

    @ApiModelProperty(value = "签订日期")
    private LocalDateTime signDate;

    @ApiModelProperty(value = "是否框架合同")
    private String isFrame;

    @ApiModelProperty(value = "是否政府采购")
    private String isPolitical;

    @ApiModelProperty(value = "框架合同编号")
    private String frameNo;

    @ApiModelProperty(value = "合同编号")
    private String contractNo;

    private String contractNoCustomer;

    @ApiModelProperty(value = "归档地")
    private String fileDept;

    @ApiModelProperty(value = "客户名称")
    private String customerName;

    @ApiModelProperty(value = "客户类型(字典）")
    private String customerType;

    @ApiModelProperty(value = "建设单位联系人")
    private String contactsName;

    @ApiModelProperty(value = "建设单位联系人电话")
    private String contactsPhone;

    @ApiModelProperty(value = "所属区域")
    private String projectArea;

    @ApiModelProperty(value = "项目负责人")
    private String pmName;

    @ApiModelProperty(value = "身份证号")
    private String pmNo;

    @ApiModelProperty(value = "项目参与人")
    private String teamMember;

    @ApiModelProperty(value = "项目经理")
    private String projectManager;

    @ApiModelProperty(value = "发票金额")
    private BigDecimal invoiceFee;

    @ApiModelProperty(value = "项目概况")
    private String memo;

    @ApiModelProperty(value = "采购方式")
    private String procurementMethod;

    @ApiModelProperty(value = "采购级别")
    private String purchaseLevel;

    @ApiModelProperty(value = "毛利率")
    private BigDecimal grossMargin;

    @ApiModelProperty(value = "招标日期")
    private LocalDateTime tenderDate;

    @ApiModelProperty(value = "投标系统编号")
    private String tenderNo;

    @ApiModelProperty(value = "业绩状态")
    private String status;

    @ApiModelProperty(value = "审核状态")
    private String auditStatus;

    @ApiModelProperty(value = "竣工资料有无")
    private String completionDataStatus;

    @ApiModelProperty(value = "中标通知书有无")
    private String bidWinningNoticeStatus;

    @ApiModelProperty(value = "发票有无")
    private String invoiceStatus;

    @ApiModelProperty(value = "验收资料有无")
    private String acceptanceDataStatus;

    @ApiModelProperty(value = "发票真伪验证有无")
    private String invoiceAuthenticityStatus;

    @ApiModelProperty(value = "全税查询有无")
    private String fullTaxStatus;

//    @ApiModelProperty(value = "获奖1有无")
//    private String award1Status;
//
//    @ApiModelProperty(value = "获奖2有无")
//    private String award2Status;

    @ApiModelProperty(value = "表扬信有无")
    private String commendationLetterStatus;

    @ApiModelProperty(value = "现场照片有无")
    private String sitePhotosStatus;

    @ApiModelProperty(value = "是否是合并订单")
    private String consolidatedStatus;

    @ApiModelProperty(value = "是否生成下载订单")
    private String downloadStatus;

    @ApiModelProperty(value = "回退原因")
    private String rejectComments;

    @ApiModelProperty(value = "数据迁移主键")
    private String keyId;

    @Transient
    @TableField(exist = false)
    private String[] customerTypeArray;

    @Transient
    @TableField(exist = false)
    private String month;

    private Integer xyAddFlag;

    private String htlx;

    private String htxz;

    private String htfl;

    private String cpmc;

    private String sfgljy;

    private String sfzdht;

    private String sfzb;

    private String qslx;

    private String wblx;

    private String tzlx;

    private String sfzsxt;

    private String xtlx;

    private BigDecimal zyhte;

    private String zzkhhy;

    private String jfhtmc;

    private String khlx;

    private String zzkh;

    private String wfqddw;

    private String ssdy;

    private BigDecimal sj;

}